package com.project.mapper;

import com.project.bean.RoomBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 房间持久接口
 */
@Mapper
public interface IRoomMapper {
    /**
     * 房间ID，修改房间状态
     * @param id 房间ID
     * @param state 新状态
     */
    public void updateState(@Param("id") int id,@Param("state") String state);

    /**
     * 添加房间
     * @param roomBean 房间对象
     */
    public void addRoom(RoomBean roomBean);

    /**
     * 根据房间id删除房间
     * @param id 房间id
     */
    public void delRoom(int id);

    /**
     * 按id查看房间信息,同时统计该房间的已住人数
     * @param id 房间id
     * @return 房间对象
     */
    public RoomBean findById(int id);

    /**
     * 动态条件查询房间信息，同时统计每个房间已住人数
     * @param site 房间地址
     * @param canLive 可住房间
     * @param state 房间状态
     * @param type 房间类型
     * @return 房间集合
     */
    public List<RoomBean> findByItem(@Param("site") String site, @Param("canLive") String canLive,
                                     @Param("state") String state, @Param("type") String type);
}
